home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aztech's Super Games
/
Aztech's Super Games (Aztech New Media Corp)(1994).ISO
/
for_pc
/
pixsetup.ms_
< prev
next >
Wrap
Text File
|
1994-04-18
|
27KB
|
920 lines
'**************************************************************************
'* MSSetup Toolkit PixFolio
'**************************************************************************
'' Revised Pixfolio Setup Script
'' Feb 94: David H. Goeb
'' Apr 94: David H. Goeb
'' Additions
'' Changed to have PCD files as part of application files
'' Added a WIN.INI check function to see if catalog was
'' already installed, and also check if new version.
'' All Aztech Text files are also added to the program group
'' Further Enhancements are custom Install call and Multi
'' Catalog support
'' Additional bug fixes and addition of gems catalog
''$DEFINE DEBUG ''Define for script development/debugging
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
'$INCLUDE 'mscuistf.inc'
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST EXITREGISTERED= 750
CONST OPTIONS = 800
CONST APPHELP = 900
CONST CUSTHELP = 910
CONST REGHELP = 920
CONST CUSTINST = 6200
CONST TOOBIG = 6300
CONST NOAVI = 6350
CONST NOAPP = 6360
CONST BADPATH = 6400
CONST CDGETNAMEORG = 7500
CONST MODELESS = 5000
CONST QUITWIN = 6500
''Bitmap ID
CONST LOGO = 1
''File Types
CONST APPFILES = 1
CONST OPTFILES1 = 2
CONST OPTFILES2 = 3
CONST OPTFILES3 = 4
CONST SYMFILES = 5
CONST CATFILES = 6
''================================
GLOBAL CATCOST%
GLOBAL CC$
GLOBAL DEST$ ''Default destination directory.
GLOBAL WINDRIVE$ ''Windows drive letter.
GLOBAL OPTCUR$ ''Option selection from option dialog.
GLOBAL CUIDLL$ ''Custom user interface DLL
GLOBAL szTempDir$ ''Working directory
GLOBAL SysDir$ ''Windows System Directory
GLOBAL ini$ ''INI file path
GLOBAL astr$ ''Usefull little string
GLOBAL NOPT$ ''Option selection from OptFiles1 option dialog.
GLOBAL OPT1OPT$ ''?? Option selection from OptFiles1 option dialog.
GLOBAL OPT2OPT$ ''?? Option selection from OptFiles2 option dialog.
GLOBAL OPT3OPT$
GLOBAL SYMOPT$ ''Option selection for symbol files.
''CustInst list symbol names
GLOBAL APPNEEDS$ ''Option list costs per drive
GLOBAL OPT1NEEDS$
GLOBAL OPT2NEEDS$
GLOBAL OPT3NEEDS$ ''Multimedia files
GLOBAL SYMNEEDS$
GLOBAL EXTRACOSTS$ ''List of extra costs to add per drive
GLOBAL BIGLIST$ ''List of option files cost calc results (boolean)
''Dialog list symbol names
GLOBAL CHECKSTATES$
GLOBAL STATUSTEXT$
GLOBAL DRIVETEXT$
DECLARE SUB AddOptFilesToCopyList (ftype%)
DECLARE SUB RecalcOptFiles (ftype%)
DECLARE SUB RecalcPath
DECLARE SUB SetDriveStatus
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "PixFolio Setup"
szTempDir$ = GetSymbolValue("STF_CWDDIR")
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "PIXSETUP.INF"
END IF
ReadInfFile szInf$
'' Force Catalog to be include unless selected off
NOPT$ = "1"
WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
'' DEST$ = WINDRIVE$ + ":\PIXFOLIO"
DEST$ = ".............................................................................................................................."
GetPixDir DEST$
if DEST$ = "" THEN
DEST$ = WINDRIVE$ + ":\PIXFOLIO"
END IF
ini$ = MakePath(GetWindowsDir, "WIN.INI")
''CustInst list symbols
CHECKSTATES$ = "CheckItemsState"
STATUSTEXT$ = "StatusItemsText"
DRIVETEXT$ = "DriveStatusText"
' FOR i% = 1 TO 3 STEP 1
AddListItem CHECKSTATES$, "ON" '' Main program files
AddListItem CHECKSTATES$, "ON" '' PCD files
AddListItem CHECKSTATES$, "OFF" '' VFW
AddListItem CHECKSTATES$, "ON" '' Multimedia
AddListItem CHECKSTATES$, "OFF" '' Symbols
' NEXT i%
FOR i% = 1 TO 5 STEP 1
AddListItem STATUSTEXT$, ""
NEXT i%
FOR i% = 1 TO 7 STEP 1
AddListItem DRIVETEXT$, ""
NEXT i%
ReplaceListItem DRIVETEXT$, 7, DEST$
''Disk cost list symbols
APPNEEDS$ = "AppNeeds"
OPT1NEEDS$ = "Opt1Needs"
OPT2NEEDS$ = "Opt2Needs"
OPT3NEEDS$ = "Opt3Needs"
SYMNEEDS$ = "SymNeeds"
EXTRACOSTS$ = "ExtraCosts"
BIGLIST$ = "BigList"
FOR i% = 1 TO 5 STEP 1
AddListItem BIGLIST$, ""
NEXT i%
FOR i% = 1 TO 26 STEP 1
AddListItem EXTRACOSTS$, "0"
NEXT i%
''File Option Variables
OPT1OPT$ = "1"
OPT2OPT$ = "1"
OPT3OPT$ = "1"
SYMOPT$ = "1"
SysDir$ = GetWindowsSysDir()
RecalcPath
'' i% = DoMsgBox("RecalcPath OK", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
SetDriveStatus
'' i% = DoMsgBox("SetDriveStatus OK", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
OPTCUR$ = "1"
' DEST$ = "C:\PIXFOLIO"
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
OPTION:
SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
NOPT$ = "0"
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
'$IFDEF DEBUG
i% = DoMsgBox("Result ('"+OPTCUR$+"') Was Returned.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
'$ENDIF ''DEBUG
IF OPTCUR$ = "1" THEN
NOPT$ = "0"
ELSE
NOPT$ = "1"
END IF
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
GOSUB ASKQUIT
GOTO OPTION
END IF
CUSTINST:
SetDriveStatus
sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", CUSTHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
''Install only if it will fit.
FOR i% = 1 TO 5 STEP 1
IF GetListItem(BIGLIST$, i%) <> "" THEN
GOSUB TOOBIG
GOTO CUSTINST
END IF
NEXT i%
UIPop 1
GOTO INSTALLIT
ELSEIF sz$ = "PATH" THEN
GOTO GETPATH
ELSEIF sz$ = "CHK1" THEN
IF DoesFileExist(MakePath(DEST$, "PIXFOLIO.EXE"), femReadWrite) = 0 AND GetListItem(CHECKSTATES$, APPFILES) = "OFF" THEN
GOSUB NOAPP
GOTO CUSTINST
END IF
RecalcOptFiles APPFILES
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK2" THEN
RecalcOptFiles OPTFILES1
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK3" THEN
IF GetListItem(CHECKSTATES$, OPTFILES2) = "ON" THEN
IF CheckForAVI = 0 THEN
GOSUB NOAVI
ReplaceListItem CHECKSTATES$, OPTFILES2, "OFF"
END IF
END IF
RecalcOptFiles OPTFILES2
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK4" THEN
RecalcOptFiles OPTFILES3
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "CHK5" THEN
RecalcOptFiles SYMFILES
SetDriveStatus
GOTO CUSTINST
ELSEIF sz$ = "BTN2" THEN
GOTO OPTFILES1
ELSEIF sz$ = "BTN3" THEN
GOTO OPTFILES2
ELSEIF sz$ = "BTN4" THEN
GOTO OPTFILES3
ELSEIF sz$ = "BTN5" THEN
GOTO SYMFILES
ELSEIF sz$ = "REACTIVATE" THEN
RecalcPath
SetDriveStatus
GOTO CUSTINST
ELSE
GOTO OPTION
'' Allow to reverse back to change CD option
''GOSUB ASKQUIT
''GOTO CUSTINST
END IF
GETPATH:
SetSymbolValue "EditTextIn", DEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
olddest$ = DEST$
DEST$ = GetSymbolValue("EditTextOut")
''Validate new path.
IF IsDirWritable(DEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPA